E2B
E2B
E2B MCP 서버는 AI 에이전트가 보안 샌드박스 환경에서 코드를 실행할 수 있게 해주는 도구입니다. E2B의 클라우드 기반 격리 환경에서 AI가 생성한 코드를 안전하게 실행하고, 결과를 가져올 수 있어 코드 해석 및 실행 기능을 AI 애플리케이션에 쉽게 추가할 수 있습니다.
특징
- 보안 샌드박스 실행: 코드를 E2B의 격리된 클라우드 환경에서 안전하게 실행
- 다양한 언어 지원: JavaScript, Python 등 다양한 프로그래밍 언어 지원
- 빠른 시작 시간: 약 150ms 내에 샌드박스 환경 시작 가능
- 파일 시스템 지원: 샌드박스 내에서 파일 생성, 읽기, 쓰기, 삭제 기능 제공
- 패키지 설치: 필요한 서드파티 패키지를 샌드박스에 설치 가능
- 데이터 지속성: 샌드박스 일시 중지 및 재개를 통한 데이터 지속성 지원
- 터미널 명령 실행: 샌드박스 내에서 터미널 명령 및 프로세스 실행 가능
API
도구
코드 실행 도구
- run_code: 코드를 실행하고 결과를 반환합니다.
- 입력:
- code (문자열): 실행할 코드
- language (문자열, 선택적): 코드 언어(기본값: 'python')
-
출력:
- text (문자열): 실행 결과 텍스트
- error (문자열): 오류 메시지(오류 발생 시)
-
install_package: 샌드박스에 패키지를 설치합니다.
- 입력:
- package_name (문자열): 설치할 패키지 이름
- version (문자열, 선택적): 패키지 버전
- 출력:
- success (불리언): 설치 성공 여부
- message (문자열): 설치 상태 메시지
파일 관리 도구
- create_file: 파일을 생성합니다.
- 입력:
- path (문자열): 파일 경로
- content (문자열): 파일 내용
-
출력:
- success (불리언): 생성 성공 여부
- message (문자열): 상태 메시지
-
read_file: 파일 내용을 읽습니다.
- 입력:
- path (문자열): 파일 경로
-
출력:
- content (문자열): 파일 내용
- error (문자열): 오류 메시지(오류 발생 시)
-
write_file: 파일 내용을 씁니다.
- 입력:
- path (문자열): 파일 경로
- content (문자열): 파일 내용
-
출력:
- success (불리언): 쓰기 성공 여부
- message (문자열): 상태 메시지
-
delete_file: 파일을 삭제합니다.
- 입력:
- path (문자열): 파일 경로
- 출력:
- success (불리언): 삭제 성공 여부
- message (문자열): 상태 메시지
터미널 도구
- run_terminal_command: 터미널 명령을 실행합니다.
- 입력:
- command (문자열): 실행할 터미널 명령
- 출력:
- stdout (문자열): 표준 출력
- stderr (문자열): 표준 오류
- exitCode (정수): 종료 코드
샌드박스 관리 도구
- create_sandbox: 새 샌드박스 환경을 생성합니다.
- 입력: 없음
-
출력:
- sandbox_id (문자열): 생성된 샌드박스 ID
- message (문자열): 생성 상태 메시지
-
pause_sandbox: 샌드박스를 일시 중지합니다.
- 입력:
- sandbox_id (문자열, 선택적): 일시 중지할 샌드박스 ID
-
출력:
- success (불리언): 일시 중지 성공 여부
- message (문자열): 상태 메시지
-
resume_sandbox: 일시 중지된 샌드박스를 재개합니다.
- 입력:
- sandbox_id (문자열): 재개할 샌드박스 ID
- 출력:
- success (불리언): 재개 성공 여부
- message (문자열): 상태 메시지
사용 방법
E2B MCP 서버를 사용하려면:
- E2B API 키 얻기:
-
E2B 웹사이트(https://e2b.dev)에서 회원가입 후 API 키를 발급받습니다.
-
Smithery CLI를 통한 설치(권장):
npx @smithery/cli install e2b --client claude -
NPX를 통한 직접 실행:
npx -y @e2b/mcp-server -
Claude Desktop 구성 파일 직접 수정:
{ "mcpServers": { "e2b-server": { "command": "npx", "args": ["-y", "@e2b/mcp-server"], "env": { "E2B_API_KEY": "your_e2b_api_key_here" } } } }
사용 사례
E2B MCP 서버는 다음과 같은 시나리오에서 특히 유용합니다:
-
AI 코드 테스트 및 디버깅: AI가 생성한 코드를 즉시 샌드박스에서 실행하여 결과를 확인하고 문제를 해결할 수 있습니다.
-
데이터 분석 및 시각화: 데이터세트를 분석하고 Python 라이브러리를 사용하여 시각화를 생성할 수 있습니다.
-
인터랙티브 학습: 코딩을 배우는 학생들에게 실시간 코드 실행 환경을 제공할 수 있습니다.
-
프로토타이핑: 새로운 아이디어를 빠르게 코드로 구현하고 테스트할 수 있습니다.
-
AI 에이전트 개발: 코드를 작성하고 실행할 수 있는 AI 에이전트를 개발할 수 있습니다.
-
코드 평가: AI가 생성한 코드의 품질과 성능을 평가할 수 있습니다.
확장성
E2B MCP 서버는 모듈식 아키텍처를 가지고 있어 새로운 코드 인터프리터를 추가할 수 있습니다:
-
새 인터프리터를 구현하려면
CodeInterpreter및FileInterface인터페이스를 구현해야 합니다. -
인터프리터 팩토리에 새 인터프리터를 등록합니다.
-
환경 변수를 통해 사용할 인터프리터 유형을 지정할 수 있습니다:
INTERPRETER_TYPE=my_interpreter
보안 고려사항
E2B MCP 서버는 코드 실행을 위한 격리된 환경을 제공하지만, 다음 보안 사항을 고려해야 합니다:
-
API 키 보호: E2B API 키는 보안 정보이므로 안전하게 보관하고 코드에 하드코딩하지 않아야 합니다.
-
리소스 제한: 샌드박스 환경은 리소스가 제한되어 있으므로, 대규모 연산이나 무한 루프를 피해야 합니다.
-
민감한 데이터: 샌드박스에서 실행되는 코드에 민감한 데이터를 포함하지 않도록 주의해야 합니다.
-
네트워크 액세스: 샌드박스 환경에서 네트워크 요청이 가능할 수 있으므로 필요한 경우 네트워크 액세스를 제한해야 합니다.